//
//  EvaluationFrame.m
//  SameWorld(merchant)
//
//  Created by 李小朋 on 2017/4/3.
//  Copyright © 2017年 杨旭. All rights reserved.
//

#import "EvaluationFrame.h"
#import "EvaluationModel.h"
#define NJNameFont [UIFont systemFontOfSize:11]
#define NJTextFont [UIFont systemFontOfSize:12]
@implementation EvaluationFrame

-(void)setEvaluation:(EvaluationModel *)evaluation {

    _evaluation = evaluation;
    
    // 间隙
    CGFloat padding = 10;
    
    // 设置头像的frame
    CGFloat iconViewX = padding;
    CGFloat iconViewY = padding;
    CGFloat iconViewW = 28;
    CGFloat iconViewH = 28;
    self.iconF = CGRectMake(iconViewX, iconViewY, iconViewW, iconViewH);
    
    // 设置昵称的frame
    CGFloat nameLabelX = CGRectGetMaxX(self.iconF) + padding;
    CGSize nameSize = [self sizeWithString:_evaluation.name font:NJNameFont maxSize:CGSizeMake(MAXFLOAT, MAXFLOAT)];
    
    CGFloat nameLabelH = nameSize.height;
    CGFloat nameLabelW = nameSize.width;
    CGFloat nameLabelY = iconViewY + 5;
    self.nameF = CGRectMake(nameLabelX, nameLabelY, nameLabelW, nameLabelH);
    
    // 设置星级的frame
    CGFloat starViewX = CGRectGetMaxX(self.iconF) + padding;
    CGFloat starViewY = CGRectGetMaxY(self.nameF) + 4;
    CGFloat starViewW = 50;
    CGFloat starViewH = 8;
    self.starF = CGRectMake(starViewX, starViewY, starViewW, starViewH);
    
    
}

/**
 *  计算文本的宽高
 *
 *  @param str     需要计算的文本
 *  @param font    文本显示的字体
 *  @param maxSize 文本显示的范围
 *
 *  @return 文本占用的真实宽高
 */
- (CGSize)sizeWithString:(NSString *)str font:(UIFont *)font maxSize:(CGSize)maxSize
{
    NSDictionary *dict = @{NSFontAttributeName : font};
    // 如果将来计算的文字的范围超出了指定的范围,返回的就是指定的范围
    // 如果将来计算的文字的范围小于指定的范围, 返回的就是真实的范围
    CGSize size =  [str boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:dict context:nil].size;
    return size;
}

@end
